// tui 工具模块
// 导出表单相关组件
import * as Form from './form';
// 导出卡片相关组件
import * as Card from './card';
// 导出按钮相关组件
import * as Button from './button';
// 导出图标相关组件
import * as Icon from './icon';
// 导出容器相关组件
import * as Container from './container';
// 导出链接相关组件
import * as Link from './link';
// 导出文本相关组件
import * as Text from './text';
// 导出菜单相关组件
import * as Menu from './menu';
// 导出下拉菜单相关组件
import * as Dropdown from './dropdown';
// 导出计时器相关组件
import * as Timer from './timer';
// 导出动画相关功能
import * as Animation from './animation';
// 导出颜色相关功能
import * as Color from './color';
// 导出工具栏相关组件
import * as Toolbar from './toolbar';
// 导出滚动条相关组件
import * as Scrollbar from './scrollbar';
// 导出表格相关组件
import * as Table from './table';
// 导出消息相关组件
import * as Message from './message/index';
// 导出代码演示相关组件
import * as Code from './code';
// 导出游戏相关组件
import * as Game from './game';

const components: Record<string, any> = {
  ...Form.TuiFormComponents,
  ...Card.TuiCardComponents,
  ...Button.TuiButtonComponents,
  ...Icon.TuiIconComponents,
  ...Container.TuiContainerComponents,
  ...Link.TuiLinkComponents,
  ...Text.TuiTextComponents,
  ...Menu.TuiMenuComponents,
  ...Dropdown.TuiDropdownComponents,
  ...Timer.TuiTimerComponents,
  ...Toolbar.TuiToolbarComponents,
  ...Scrollbar.TuiScrollbarComponents,
  ...Table.TuiTableComponents,
  ...Message.TuiMessageComponents,
  ...Code.TuiCodeComponents,
  ...Game.TuiGameComponents,
};


// 安装函数
const install = (app: any) => {
  // 调用表单组件的安装函数
  Form.formInstall(app);
  // 调用卡片组件的安装函数
  Card.cardInstall(app);
  // 调用滚动条组件的安装函数
  Scrollbar.scrollbarInstall(app);
  // 调用图标组件的安装函数
  Icon.iconInstall(app);
  // 调用按钮组件的安装函数
  Button.buttonInstall(app);
  // 调用容器组件的安装函数
  Container.containerInstall(app);
  // 调用链接组件的安装函数
  Link.linkInstall(app);
  // 调用文本组件的安装函数
  Text.textInstall(app);
  // 调用动画功能的安装函数
  Animation.animationInstall(app);
  // 调用颜色功能的安装函数
  Color.colorInstall(app);
  // 调用菜单组件的安装函数
  Menu.menuInstall(app);
  // 调用下拉菜单组件的安装函数
  Dropdown.dropdownInstall(app);
  // 调用计时器组件的安装函数
  Timer.timerInstall(app);
  // 调用工具栏组件的安装函数
  Toolbar.toolbarInstall(app);
  // 调用表格组件的安装函数
  Table.tableInstall(app);
  // 调用消息组件的安装函数
  Message.messageInstall(app);
  // 调用代码演示组件的安装函数
  Code.codeInstall(app);
  // 调用游戏组件的安装函数
  Game.gameInstall(app);
};

export {
  install,
  components,
  Form,
  Card,
  Button,
  Icon,
  Container,
  Link,
  Text,
  Menu,
  Dropdown,
  Code,
  Timer,
  Animation,
  Color,
  Toolbar,
  Scrollbar,
  Table,
  Message,
}

export default {
  install,
  ...components
};